package main

import (
	"fmt"
	"math/rand"
)

func main() {
	//比较运算符
	//和其他编程语言一样,有六种分别为==,>=,<=,<,>,!=
	fmt.Println(1 == 2)
	fmt.Println(2 >= 3)
	fmt.Println(4 <= 9)
	fmt.Println(23 < 81)
	fmt.Println(9 > 7)
	fmt.Println(78 != 78)

	//if分支
	//和其他编程语言没有太大的区别,条件判断时不需要夹括号
	if 1 == 2 {
		fmt.Println("YES")
	} else if 2 == 3 {
		fmt.Println("YES")
	} else {
		fmt.Println("NO")
	}

	//逻辑运算符
	//与java相同||逻辑或和&&逻辑与
	if 1 == 2 && 2 == 2 {
		fmt.Println("YES")
	} else if 2 == 3 || 4 == 4 {
		fmt.Println("YES")
	} else {
		fmt.Println("NO")
	}

	//switch分支
	//与java不同,go语言中的switch不需要break,但go中有一个关键字fallthrough可以执行下一个case
	words := "Virgli"
	switch words {
	case "Zero":
		fmt.Println("Error")
	case "Judy":
		fmt.Println("Error")
	case "Virgli":
		fmt.Println("Right")
		fallthrough
	case "June":
		fmt.Println("Error")
	default:
		fmt.Println("Out")
	}

	//for循环
	//同样的for的循环条件也不需要(),for可以没有循环条件即死循环,可以使用break跳出循环

	for count := 9; count > 1; count-- {
		fmt.Println("count的值为:", count)
	}

	//练习题
	//猜数:首先定义一个1-100的整数,然后让计算机生成一个1-100的随机数,并显示计算机猜测的结果是大还是小,没猜对的话继续猜,猜对结束
	//1.首先定义一个数字
	var number int = 72
	for {
		var guess int = rand.Intn(100) + 1
		if guess > number {
			fmt.Println("结果太大了")
		} else if guess < number {
			fmt.Println("结果太小了")
		} else {
			fmt.Println("恭喜猜对了")
			break
		}
	}

}
